iT邦幫忙

2024 iThome 鐵人賽

DAY 10
0
自我挑戰組

資料庫與Java開發工具連接系列 第 10

D10:撰寫程式碼控制資料庫-連接

  • 分享至 

  • xImage
  •  

在開始寫程式之前要記得打開MySQL哦~~

在下面這一段程式碼中,我們先在Java中設定了資料庫的連接(位置、使用者、密碼),並設定了一個
Method來控制每次使用時會初始化資料庫

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class Main {
    private static String JDBC_url = "jdbc:mysql://localhost:3306/database1";
    private static String JDBC_user = "user1";
    private static String JDBC_password = "abcd1234";

    public static void main(String[] args) throws SQLException, ClassNotFoundException {
        initializeDatabase();
    }
    public static void initializeDatabase(){
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            System.out.println("Driver loaded");

            Connection connection = DriverManager.getConnection
                    (JDBC_url, JDBC_user, JDBC_password);

            if(connection != null ){
                System.out.println("database connected...");
            }
            else {
                System.out.println("database not connected...");
            }
        }catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        }
    }
}

來嘗試執行一下,看看會發生什麼事https://ithelp.ithome.com.tw/upload/images/20240924/20169406tIBYSYUHJ8.png
居然出錯了?! 去查了一下發現java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver是沒有找到JDBC驅動程式的意思,現在我們要把MySQL-connector-j加進專案的library裡,先去google找
"mysql connector j",點第一個,之後按上面的archives,找到你需要的版本下載下來。
回到itellij,對著你的project點右鍵,再按f4會到這個畫面(圖2)https://ithelp.ithome.com.tw/upload/images/20240924/201694061hS76AC6Ky.png(上為圖1)https://ithelp.ithome.com.tw/upload/images/20240924/201694067ZO0MuPr53.png(上為圖2)
看到左邊的Libraries,點進去上面有個+,按了之後找到你下載的"MySQL-connector-j"資料夾裡面的.jar檔,添加後apply,再確認就完成了,重新執行一遍測試一下,結果如下圖https://ithelp.ithome.com.tw/upload/images/20240924/20169406oNy7Fol78n.png
可以看到如我們程式碼所設計的,輸出了資料庫連接成功的結果!


上一篇
D9:JDBC API介紹
下一篇
D11:撰寫程式碼控制資料庫-寫入、刪除(上)
系列文
資料庫與Java開發工具連接30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言